package stream01;

import org.junit.Test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * Stream流概述
 *  Stream流的出现是为了增强集合和数组的操作,Stream流更专注于数据的转换,过滤,获取等操作
 *  同时Stream流提高了集合和数组的操作效率,简化了大量的逻辑操作
 * 需求：给定一个集合，集合中存储了各种后缀的文件名，要求统计出.txt后缀名的个数
 */

public class StreamDemo01 {
    @Test
    public void test01(){
        ArrayList<String> al = new ArrayList<>();
        al.add("1.txt");
        al.add("2.txt");
        al.add("3.pdf");
        al.add("4.docx");

        int count = 0;//定义一个计数器
        for (String s : al) {
            if (s.endsWith(".txt")) {
                count++;
            }
        }

        System.out.println(count);
    }

    @Test
    public void teat02(){
        List<String> list = Arrays.asList("1.txt", "2.txt", "3.pdf", "4.docx");
        long count = list.stream().filter(ele -> ele.endsWith(".txt")).count();
        System.out.println(count);
    }

}
